Repository navigation
feat(leitstand): replace Fluss with Fabrik and preserve old links - #1568
Conversation
Test-First: src/screens/leitstand/LeitstandRoute.test.tsx::reaches Fabrik from Haupt by its tab link Test-First: src/screens/leitstand/LeitstandRoute.test.tsx::redirects old flow bookmarks and later hash navigation to Fabrik Test-First: src/shell/mount/routing.test.ts::keeps Fabrik and the old flow alias out of the legacy terminal viewer
Test-First: src/screens/leitstand/LeitstandRoute.test.tsx::reaches Fabrik from Haupt by its tab link Test-First: src/screens/leitstand/LeitstandRoute.test.tsx::redirects old flow bookmarks and later hash navigation to Fabrik Test-First: src/shell/mount/routing.test.ts::keeps Fabrik and the old flow alias out of the legacy terminal viewer
Test-First: src/screens/leitstand/LeitstandRoute.test.tsx::renders old flow paths as Fabrik immediately without requesting Haupt questions
Resolve R1568-G1 by applying the Fabrik branch before ShellMount redirects old bookmarks, leaving Haupt questions disabled. Test-First: src/screens/leitstand/LeitstandRoute.test.tsx::renders old flow paths as Fabrik immediately without requesting Haupt questions
|
Root 2026-10-15 17:55:53: tier B, author OpenAI (codex). Reviews bound to head d839d9e: Claude delta APPROVE (02eceef..d839d9e, srv-review-pr1568-claude-1748) + Gemini APPROVE at d839d9e. Gemini G1 (flash on /leitstand/fluss) fixed in d839d9e with red-first test. New Gemini lows (ShellMount.tsx:45 query string on old bookmark; en.ts key) -> follow-up. Marked ready; review-ok after green CI on this head. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Root review gate 2026-10-15 18:04:52, bound to head d839d9e: Claude delta APPROVE + Gemini APPROVE at this head; all checks green incl. CodeQL/GitGuardian (gh pr checks: no fail, no pending). Gemini lows (ShellMount.tsx:45 query string, en.ts key) -> follow-up. Setting review-ok. |
|
Root auto-queue: head d839d9e unchanged since review-ok, all checks green. @Mergifyio queue |
Merge Queue Status
This pull request spent 13 minutes 39 seconds in the queue, including 13 minutes 21 seconds running CI. Required conditions to merge
|
Der Reiter „Fluss“ heißt jetzt „Fabrik“ und öffnet sich unter
/leitstand/fabrik.Alte Links auf
/leitstand/flussführen automatisch zur Fabrik mit den bisherigen Ablaufdaten.Du musst nichts umstellen; die unabhängige Prüfung steht noch aus.
Report
Package: FABRIK-TAB-1 · Review tier: B
Goal / benefit: Replace the existing flow tab with Fabrik while preserving bookmarks and the existing flow content.
Parent / ticket / owner: Authorized Leitstand Fabrik decision dated 2026-10-15; job
srv-fabrik-tab-1d, branchcodex/fabrik-tab-1; Root owns review and integration.Native evidence:
get_goalreturned no existing goal;create_goalcreated the bounded implementation-and-draft-handover goal; subsequentget_goalreported it active. Independent review, acceptance and merge remain with Root.Candidate:
d839d9efac7012c310e57680d54f7229b0f5a7a6(R1 fix); original reviewed head:02eceef117e97a089413b3fe570f81f7f9f6173b.Base:
a5f8c538216a928a24869c161268dc94c4411584(newest fetched main at implementation start).Scope: Total package: 7 frontend/test files, 86 additions + 33 deletions = 119 diff lines against the merge base (R1 limit 400; no overrun). R1 changes only
LeitstandRoute.tsxand its test: 15 additions + 1 deletion. Forcing finding: R1568-G1. No Rust, seam, dependency orsrc/shell/routes.tschanges.What changed
#/leitstand/fabrik, and order tabs Haupt / Fabrik / Betrieb / Werkzeuge / Klassisch.location.replacepreserves useful Back navigation.Original implementation evidence (historical, head
02eceef1)Observed on 2026-10-15 in the assigned worktree. Tests exercise App navigation/DOM and the public routing helpers; IPC is mocked at the Tauri boundary.
npm run dev:start-checknpx --no-install vitest run src/screens/leitstand/LeitstandRoute.test.tsx src/shell/mount/routing.test.ts -t 'reaches Fabrik from Haupt by its tab link|redirects old flow bookmarks and later hash navigation to Fabrik|keeps Fabrik and the old flow alias out of the legacy terminal viewer'before implementationnpx --no-install vitest run src/screens/leitstand src/shellnpm run typechecknpm run buildbash scripts/ci/red-first.shgit diff --checkandgit diff --check origin/main...HEADbash scripts/ci/gates.sh lane prepushgit push -u origin codex/fabrik-tab-1git ls-remote origin codex/fabrik-tab-1rg -n '"Fluss"|tab.flow' srctab.flowskey remains, output belowRed tests were committed first as
ef26c04c; implementation followed in02eceef1. Both commits passed the precommit secret scan. The required red-first script automatically populated its temporary base checkout using the unchanged lockfile; no dependency manifests changed.Additional foreground browser probe (
VITE_TAURI_MOCKS=true node --input-type=module, Vite API + Playwright Chromium): exit 0. Verified initial alias redirect, active Fabrik link, visible flow graph, later trailing-slash alias and Back returning to Haupt. Inspected the 1440×900 screenshot at.pa/fabrik-tab-proof/fabrik.png(local, untracked); tab order and existing graph are visible. Server and browser closed before command completion; no desktop runtime was started.Text search output:
R1 change and current evidence
Job / authority:
srv-fix-pr1568-r1, NACHBESSERN, Root assignment dated 2026-10-15. Parent: FABRIK-TAB-1; implementation owner: assigned worker; review and integration owner: Root.Native goal:
get_goalreturned no existing goal, thencreate_goalcreated the bounded G1 fix and checked-handover goal. The post-pushget_goalreturned that objective active; completion follows verified PR report and handover. No parent acceptance or merge is implied.The existing
fabrikboolean now also recognizes the trimmed retired path/leitstand/fluss. This selects Fabrik before ShellMount's redirect effect and keepsuseQuestionsdisabled.routing.tsexportsFABRIK_PATHbut has no exported old-alias constant/helper; the single existing boolean was extended without a second route list or changes outside the assigned files.The direct component regression renders both old-path forms, asserts the Fabrik tab synchronously, excludes Haupt content, flushes effects, checks the actual Tauri
list_questionsboundary received no call, and checks the flow region. Internal hooks and route components are not mocked. This isolates the initial render from ShellMount's later redirect.Observed on 2026-10-15 at candidate
d839d9ef:git rev-parse HEADat start02eceef117e97a089413b3fe570f81f7f9f6173b; clean assigned branchnpm run dev:start-checkbefore prepush / pushnpx --no-install vitest run src/screens/leitstand/LeitstandRoute.test.tsx -t 'renders old flow paths as Fabrik immediately without requesting Haupt questions'before fixlist_questionscalled, flow absentnpx --no-install vitest run src/screens/leitstand/LeitstandRoute.test.tsx src/shell/mount/routing.test.tsafter fixgit commitfor red test / fixbash scripts/ci/gates.sh lane prepushd839d9ef, 1429 frontend tests passed; 2273 Rust tests passed, 7 skippedbash scripts/ci/red-first.shgit push -u origin codex/fabrik-tab-1git ls-remote origin codex/fabrik-tab-1d839d9efac7012c310e57680d54f7229b0f5a7a6git diff --stat origin/main...HEADgit diff --check/git status --short --branchRed regression commit:
78ee0d51b80e03221633aad326c5b8bf70cc1e5c. Fix commit:d839d9efac7012c310e57680d54f7229b0f5a7a6. Both carry the exact named Test-First trailer and passed the precommit secret scan. No history rewriting or dependency changes.To honor the no-install constraint, red-first's temporary base checkout reused the already installed
node_modules: an exportednpmshell function handled onlynpm ciby first comparing bothpackage.jsonandpackage-lock.jsonbyte-for-byte with the assigned worktree and then linking its existing dependencies. All other npm commands forwarded unchanged. The gate script and every test were unmodified; no packages were installed.NICHT ABGEDECKT
#[cfg(windows)]tests (run_in_pty, npm_shim, ConPTY, DPAPI) or Windows Clippy branches. The Windows lane runs in the merge queue.02eceef1.lage-jetztwas unavailable in this worktree; live Git/GitHub sources were checked. Start-check had no usage file, so provider limits were not verified; no model identity was inferred from configuration.Reviews and disposition
Review: ausstehend (Stufe B).
The Root dispatch reports Claude APPROVE and Gemini findings on original head
02eceef1. The original review files are unavailable in this worktree and GitHub has no posted review bodies; their full text was not independently re-read. The disposition below follows the explicit R1 assignment. Claude delta review ofd839d9efis queued by the orchestrator, not by this worker.src/screens/leitstand/LeitstandRoute.tsx:37d839d9ef; regression committed first in78ee0d51. Old paths select Fabrik immediately and never request Haupt questions in the direct component test.Open points / handover
d839d9ef, resolve the advisory follow-ups, and integrate through Mergify after acceptance. No review-ok label or queue action by this worker.